A policy and charging rules function (PCRF) is a network device that manages policy rules for end users. A PCRF can add and re-configure policies to do things such as manage and control Quality of Service (QoS), charging, quota, optimization and admission control. Conventional PCRF operation requires that the PCRF maintain state information about active Diameter application sessions it handles. Such sessions may include, for example, Gx, Gxx, Rx, and S9 sessions. In the event that a PCRF suffers a hardware or software failure (e.g., crash and/or reboot), the PCRF may lose some or all of its state information.
In order for the PCRF to recover any lost state information, the PCRF conventionally requests a replay of all state information. However, one problem with this conventional procedure is that if the PCRF asks a Gx client (i.e., enforcement function) to replay all of the Gx sessions state/information, it may negatively impact the network or other performance associated with the PCRF. This problem may be further exacerbated when there are multiple Gx clients for a given PCRF, because each Gx client may handle hundreds of thousands or millions of active Gx sessions. Yet a replay of all of the Gx sessions/state information may be (at least partly) unnecessary if the PCRF has retained some of the information after recovering from the failure.
Accordingly, in light of these difficulties, a need exists for improved methods, systems, and computer readable media for providing PCRF fault tolerance with minimal performance impact.